import jieba
#我来到扬州，扬州工业职业技术学院信息工程学院
#全模式
# seg_list=jieba.cut('我来到扬州，扬州工业职业技术学院信息工程学院')
# #精准模式
# seg_list01=jieba.cut('我来到扬州，扬州工业职业技术学院信息工程学院',cut_all=False)
# print("/".join(seg_list))
#
# seg_list02=jieba.cut_for_search('我来到扬州，扬州工业职业技术学院信息工程学院')
# print("/".join(seg_list02))
txt=open("《西游记》.txt", 'r', encoding='utf-8').read()
#print(txt)
words=jieba.lcut(txt)
excludes=("一个","那里","怎么","我们","不知","两个","甚么","不是","只见","呆子",
          "原来","不敢","如何",'不曾','闻言','这个','正是',
          '只是','出来','一声','那怪','真个',)
#words=jieba.lcut(txt)
counts={}
for word in words:
    if len(word)==1:
        continue

        if word=='行者' or word=='大圣'or word=='老孙':
            rword='悟空'
        elif word=='师父' or word=='三藏' or word=='长老':
            rword='唐僧'
        elif word == '悟净' or word == '沙和尚':
            rword = '沙僧'
        else:
            rword=word
        if rword in counts:
            counts[rword]=counts[rword]+1
        else:
            counts[rword]=1
for word in excludes:
    del counts[word]

items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)

print("西游记小说中人物出场次数最多的前十个角色是：")
for i in range(10):
    word,count=items[i]
    print("%s--%d次"%(word,count))